package almm;

import java.util.HashSet;
import java.util.Set;

public abstract class ProperState { // x
	private Set<State> currentState = new HashSet<State>();

	protected ProperState(Set<State> currentState) {
		this.currentState = currentState;
	}

	protected ProperState() {
	}

	public Set<State> getCurrentState() {
		return this.currentState;
	}

	@Override
	public boolean equals(Object that) {
		return ((that instanceof ProperState) && ((ProperState) that).currentState
				.equals(this.currentState));
	}

	protected abstract ProperState next(ControlDecision u, TimeInstant t) throws Exception;
}
